package com.ruoyi.ly.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.persistence.Transient;

/**
 * 巡检计划对象 serve_examine_plan
 * 
 * @author wj
 * @date 2024-01-13
 */
public class ServeExaminePlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long examinePlanId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String examinePlanTitle;

    /** 企业id */
    @Excel(name = "企业id")
    private String groupId;

    /** 项目id */
    @Excel(name = "项目id")
    private String projectId;

    /** 1区域2楼栋 */
    @Excel(name = "1区域2楼栋")
    private String examineCateType;

    /** 巡检类型（子类） */
    private String examineProjectType;

    /** 格式为202001,最后两位是第几季度 */
    @Excel(name = "格式为202001,最后两位是第几季度")
    private String examinePeriod;

    /** $column.columnComment */
    private String examineAllowUserIds;

    /** 选择的工位区 */
    private String chooseSiteGroups;

    /** 选择楼栋 */
    private String chooseBans;

    /** 选择的会议室 */
    private String chooseMeets;

    /** 计划起始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划起始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 计划结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 计划描述 */
    @Excel(name = "计划描述")
    private String examinePlanRemark;

    /** 巡检计划状态0待启动1执行中2已完成 */
    @Excel(name = "巡检计划状态0待启动1执行中2已完成")
    private String examinePlanStatus;

    /** 排序 */
    @Excel(name = "排序")
    private String examinePlanSort;

    /** $column.columnComment */
    private String createUid;

    /** $column.columnComment */
    private Date deleteTime;

    /** 没有实体表对应  联合project表查询*/
    @Excel(name = "项目名称")
    @Transient
    private String projectName;

    public  void setProjectName(String projectName){  this.projectName=projectName;}
    public String getProjectName(){ return projectName;}

    public void setExaminePlanId(Long examinePlanId) 
    {
        this.examinePlanId = examinePlanId;
    }

    public Long getExaminePlanId() 
    {
        return examinePlanId;
    }
    public void setExaminePlanTitle(String examinePlanTitle) 
    {
        this.examinePlanTitle = examinePlanTitle;
    }

    public String getExaminePlanTitle() 
    {
        return examinePlanTitle;
    }
    public void setGroupId(String groupId) 
    {
        this.groupId = groupId;
    }

    public String getGroupId()
    {
        return groupId;
    }
    public void setProjectId(String projectId)
    {
        this.projectId = projectId;
    }


    public String getProjectId() 
    {
        return projectId;
    }
    public void setExamineCateType(String examineCateType) 
    {
        this.examineCateType = examineCateType;
    }

    public String getExamineCateType() 
    {
        return examineCateType;
    }
    public void setExamineProjectType(String examineProjectType) 
    {
        this.examineProjectType = examineProjectType;
    }

    public String getExamineProjectType() 
    {
        return examineProjectType;
    }
    public void setExaminePeriod(String examinePeriod) 
    {
        this.examinePeriod = examinePeriod;
    }

    public String getExaminePeriod() 
    {
        return examinePeriod;
    }
    public void setExamineAllowUserIds(String examineAllowUserIds) 
    {
        this.examineAllowUserIds = examineAllowUserIds;
    }

    public String getExamineAllowUserIds() 
    {
        return examineAllowUserIds;
    }
    public void setChooseSiteGroups(String chooseSiteGroups) 
    {
        this.chooseSiteGroups = chooseSiteGroups;
    }

    public String getChooseSiteGroups() 
    {
        return chooseSiteGroups;
    }
    public void setChooseBans(String chooseBans) 
    {
        this.chooseBans = chooseBans;
    }

    public String getChooseBans() 
    {
        return chooseBans;
    }
    public void setChooseMeets(String chooseMeets) 
    {
        this.chooseMeets = chooseMeets;
    }

    public String getChooseMeets() 
    {
        return chooseMeets;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setExaminePlanRemark(String examinePlanRemark) 
    {
        this.examinePlanRemark = examinePlanRemark;
    }

    public String getExaminePlanRemark() 
    {
        return examinePlanRemark;
    }
    public void setExaminePlanStatus(String examinePlanStatus) 
    {
        this.examinePlanStatus = examinePlanStatus;
    }

    public String getExaminePlanStatus() 
    {
        return examinePlanStatus;
    }
    public void setExaminePlanSort(String examinePlanSort) 
    {
        this.examinePlanSort = examinePlanSort;
    }

    public String getExaminePlanSort() 
    {
        return examinePlanSort;
    }
    public void setCreateUid(String createUid) 
    {
        this.createUid = createUid;
    }

    public String getCreateUid() 
    {
        return createUid;
    }
    public void setDeleteTime(Date deleteTime) 
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime() 
    {
        return deleteTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("examinePlanId", getExaminePlanId())
            .append("examinePlanTitle", getExaminePlanTitle())
            .append("groupId", getGroupId())
            .append("projectId", getProjectId())
            .append("examineCateType", getExamineCateType())
            .append("examineProjectType", getExamineProjectType())
            .append("examinePeriod", getExaminePeriod())
            .append("examineAllowUserIds", getExamineAllowUserIds())
            .append("chooseSiteGroups", getChooseSiteGroups())
            .append("chooseBans", getChooseBans())
            .append("chooseMeets", getChooseMeets())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("examinePlanRemark", getExaminePlanRemark())
            .append("examinePlanStatus", getExaminePlanStatus())
            .append("examinePlanSort", getExaminePlanSort())
            .append("createUid", getCreateUid())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("deleteTime", getDeleteTime())
            .toString();
    }
}
